package com.custom.action.core.annotations;

import com.custom.jdbc.handler.TypeHandler;
import com.custom.jdbc.handler.UnknownTypeHandler;

import java.lang.annotation.*;

/**
 * 应用于表的逻辑删除字段
 * <br/> exam1: String/short/int/long -> "1" : "0"
 * <br/> exam2: boolean -> "true/TRUE/1" : "false/FALSE/0"
 * @author XiaoBai
 * @since 2023/8/31 0031 21:39\
 */
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DbLogic {

    /**
     * 逻辑删除-未删除值(若不填则取全局配置)
     */
    String value() default "";

    /**
     * 逻辑删除-已删除值(若不填则取全局配置)
     */
    String delValue() default "";

    /**
     * 类型转换处理
     */
    Class<? extends TypeHandler<?>> typeHandler() default UnknownTypeHandler.class;

}
